﻿using Microsoft.Xna.Framework;
using ShevaEngine.Core.Modules.Graphics;
using ShevaEngine.Core.Modules.Graphics.Cameras;

namespace ShevaEngine.Core.Interfaces
{
    /// <summary>
    /// IRenderAble interface.
    /// </summary>
    public interface IRenderAble
    {
        /// <summary>
        /// Add in rendering pipeline.
        /// </summary>
        /// <param name="renderingPipeline"></param>
        void AddInRenderingPipeline(RenderingPipeline renderingPipeline, Camera camera);

        /// <summary>
        /// Add in rendering pipeline.
        /// </summary>
        /// <param name="renderingPipeline"></param>
        void AddInRenderingPipeline(RenderingPipeline renderingPipeline, Vector3 position, float distanceSquared);
    }
}
